﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJM.RPP.EntidadesNegocio;
using MJM.RPP.AccesoDatos;

namespace MJM.RPP.ComponentesNegocio
{
    public static class HorarioCN
    {
        public static List<HorarioEN> Listar(int Empleado, string inicio, string fin)
        {
            return HorarioAD.ListarHorario(Empleado, inicio, fin);
        }

        public static int[] ContarEstados(List<HorarioEN> lst)
        { 
            int[] cont=new int[2];
            cont[0]=0;
            cont[1]=0;
            for (int i = 0; i < lst.Count; i++)
            {
                if (lst[i].Estado == "T")
                    cont[0]++;
                if (lst[i].Estado == "F")
                    cont[1]++;
            }
            return cont;
        }

        public static List<HorarioEN> ListarResumenPersonal(List<PersonaTramiteEN> Personal, string inicio, string fin)
        {
            List<HorarioEN> HorarioPersonal = new List<HorarioEN>();
            int totalreg = 80;

            for (int i = 0; i < Personal.Count; i++)
            {
                if (totalreg > 0)
                {
                    var Horarios = HorarioCN.Listar(Personal[i].IDPersona, inicio, fin);
                    if (Horarios.Count > 0)
                    {
                        var contadores = ContarEstados(Horarios);
                        var resumen = new HorarioEN();
                        resumen.ID = Personal[i].IDPersona;
                        resumen.Nombre = Horarios[0].Nombre;
                        resumen.CantidadFaltas = contadores[1];
                        resumen.CantidadTardanzas = contadores[0];
                        HorarioPersonal.Add(resumen);
                        totalreg--;
                    }
                }
            }

            return HorarioPersonal;
        }
    }
}
